home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
programs
/
swift45i.zip
/
SWIFTBBS.H
< prev
next >
Wrap
Text File
|
1992-07-16
|
9KB
|
362 lines
/*
* swiftbbs.h
* structures and other typedefs for SwiftBBS programs.
* adapted from QuickBBS' "STRUCT.264"
* (SwiftBBS) copyright 1989, 1990, 1991 by Dana Bell
* revised 9/3/91
* (revisions include declaration changes to unsigned and use
* of Reserved variables for SwiftBBS features)
*/
/*
* Most string variables declared in this file are actually
* null-terminated counted strings. The first [0] element is
* the length of the string. SwiftBBS attempts to preserve that
* count but uses strings as null terminated character arrays.
*/
#define FALSE 0
#define TRUE !FALSE
/* specify user variables as global */
/************************************/
typedef unsigned char flagtype[4];
typedef unsigned char flagdesc[31]; /* for flags.bbs file (qflag) */
typedef unsigned char gosubtype[20][9];
/* User Configuration Information */
/************************************/
typedef struct userrecord {
unsigned char name[36];
unsigned char city[26];
unsigned char pwd[16];
unsigned char dataphone[13];
unsigned char homephone[13];
unsigned char lasttime[6];
unsigned char lastdate[9];
unsigned char attrib;
flagtype flags;
unsigned int credit;
unsigned int pending;
unsigned int timesposted;
unsigned int highmsgread;
unsigned int seclvl;
unsigned int times;
unsigned int ups;
unsigned int downs;
unsigned int upK;
unsigned int downK;
unsigned int todayK;
signed int elapsed;
unsigned int len;
unsigned int combinedptr; /* long in QuickBBS */
unsigned char lastarea; /* used by QuickBBS for age */
unsigned char extraspace[5];
} USER;
/* unsigned char attributes[][12] = {
" *Deleted* ",
" Cls codes ",
" More. . . ",
" ANSI okay ",
" *No-Kill* ",
" Ignore DL ",
" Full-scrn ",
" Avatar " /* Reserved in QuickBBS
};
*/
/* System Configuration Information */
/************************************/
typedef struct boardrecord {
unsigned char name[17];
unsigned char type; /* 0=Std 1=Net 2=Monitor 3=Echo */
/* 2=Reserved in QuickBBS */
unsigned char kind; /* 0=Both 1=Pvt 2=Pub 3=Read-Only */
unsigned char combined;
unsigned char aliases;
/* flags and levels */
unsigned int readlevel;
flagtype readflags;
unsigned int writelevel;
flagtype writeflags;
unsigned int sysoplevel;
flagtype sysopflags;
} BOARD;
/* unsigned char boardtype[][12] = {
" Standard ",
" Net only ",
" Monitor ", /* Reserved in QuickBBS
" * Echo * ",
};
unsigned char boardkind[][12] = {
" Pub&Priv ",
" Private! ",
" Public ",
" ReadOnly ",
};
*/
typedef struct eventinfo {
unsigned char status; /* 0=Deleted 1=Enabled 2=Disabled */
unsigned char runtime[6];
unsigned char errorlevel;
unsigned char days;
unsigned char forced;
unsigned char lasttimerun[9];
} EVENT;
typedef struct configrecord {
unsigned int commport;
unsigned int initbaud, inittimes, answerwait;
unsigned char modeminitstr[71];
unsigned char modembusystr[71];
unsigned char modeminitresp[41];
unsigned char modembusyresp[41];
unsigned char resp300[41];
unsigned char resp1200[41];
unsigned char resp2400[41];
/* system paths */
unsigned char menupath[67];
unsigned char textpath[67];
unsigned char netpath[67];
/* restriction parameters */
unsigned int minbaud;
unsigned int graphicsbaud;
unsigned int xferbaud;
unsigned char lowbaudstart[6];
unsigned char lowbaudend[6];
unsigned char downloadstart[6];
unsigned char downloadend[6];
unsigned char pagingstart[6];
unsigned char pagingend[6];
/* matrix information */
unsigned int matrixzone;
unsigned int matrixnet;
unsigned int matrixnode;
unsigned int akanet[5];
unsigned int akanode[5];
unsigned int netmailboard;
/* default information for new users */
unsigned int defaultsec;
unsigned int defaultcredit;
flagtype defaultflags;
/* sysop security levels */
unsigned char editorcmdstr[71];
unsigned char originline[61];
unsigned char sysopname[36];
unsigned char
autologonchar,
fastlogon,
screenblanking,
uselastread,
monomode,
directwrite,
snowcheck,
netechoexit,
onewordnames,
checkmail,
askhomephone,
askdataphone,
graphicsavail;
unsigned int
inactivetimeout,
logontime,
deffgcolor,
defbgcolor,
passwordtries,
maxpagetimes,
pagebelllen;
unsigned char
use_xmodem,
use_xmodem1k,
use_ymodem,
use_ymodemg,
use_sealink,
use_zmodem,
inp_fields;
unsigned char quotestr[4];
unsigned int uploadcredit;
unsigned char loadingmessage[71];
unsigned char selectionprompt[71];
unsigned char versionid[2];
/* added for 2.04 */
unsigned char resp4800[41];
unsigned char resp9600[41];
unsigned int akazone[5];
/* added for 2.60 */
unsigned int matrixpoint;
unsigned int akapoint[5];
unsigned char useaka[200];
unsigned char askage;
unsigned char systemname[41];
long regkey;
char extraspace[5];
EVENT eventrec[30];
BOARD boardrec[200];
} CONFIG;
typedef struct sysinfo {
long callcount;
unsigned char lastcaller[36];
unsigned char extrasys[128];
} SYS;
typedef struct timeinfo {
unsigned char startdate[9];
unsigned int busyperhour[24];
unsigned int busyperday[7];
} TIMELOG;
typedef struct exitinfo {
unsigned int baudrate;
SYS sysinfo;
TIMELOG timeloginfo;
USER userinfo;
EVENT eventinfo;
unsigned char netmail;
unsigned char echomail;
unsigned char logintime[6];
unsigned char logindate[9];
unsigned int tmlimit;
unsigned int loginsec; /* long in QuickBBS */
unsigned int credit; /* long in QuickBBS */
unsigned int userrecnum;
unsigned int readthru;
unsigned int pagetimes;
unsigned int downlimit;
unsigned char wantchat;
unsigned char gosublevel;
gosubtype gosub;
unsigned char menu[9];
} EXIT;
/* Nodelist Configuration Information */
/****************************************/
typedef struct noderecord {
unsigned char nodetype;
unsigned int zone,net,node;
unsigned char name[21];
unsigned char city[41];
unsigned char phone[41];
unsigned char password[9];
unsigned int flags;
unsigned int baudrate;
unsigned int cost;
} NODE;
typedef struct nodeindex {
unsigned int zone,net,node;
unsigned char nodetype;
} NIDX;
/* unsigned char nodeattrib[][12] = {
" Net Hub ",
" Net Host ",
" Reg Coord ",
" Zone gate ",
" Runs CM ",
" ",
" ",
" "
};
*/
/* Menu Configuration Information */
/************************************/
typedef struct menuinfo {
unsigned char type;
unsigned int security;
flagtype flags;
unsigned char display[76];
unsigned char key;
unsigned char data[81];
unsigned char fg, bg;
} MENU;
/* Message Files Structures */
/********************************/
typedef struct msginfo {
unsigned int lowmsg;
unsigned int highmsg;
unsigned int totalactive;
unsigned int activemsgs[200];
} MSGINFO;
typedef struct msgidx {
unsigned int msgnum;
unsigned char board;
} MSGIDX;
typedef struct msghdr {
unsigned int
msgnum,
replyto,
seealsonum,
tread;
unsigned int startrec;
unsigned int
numrecs,
destnet,
destnode,
orignet,
orignode;
unsigned char
destzone,
origzone;
unsigned int cost;
unsigned char
msgattr,
netattr;
unsigned char board;
unsigned char posttime[6];
unsigned char postdate[9];
unsigned char whoto[36];
unsigned char whofrom[36];
unsigned char subj[73];
} MSGHDR;
/* unsigned int destpoint;*/
/* unsigned char msgattrib[][12] = {
" *Deleted* ",
" unmovdNet ",
" *Net Msg* ",
" *Private* ",
" *Received ",
" unmovdEch ",
" * Local * ",
" *Monitor* " /* Reserved in QuickBBS
};
unsigned char netattrib[][12] = {
" * KILL * ",
" Sent Ok ",
" Attaches ",
" * CRASH * ",
" Recpt Req ",
" Audit Req ",
" IsRetRcpt ",
" File Req " /* Reserved in QuickBBS
};
*/
/* Standard Errorlevels */
/************************/
/*
255 compiler
6+ external program
5 Net & echo processing done/needed
2 Fatal error - problem
1 Problem accessing a file
0 did nothing, do nothing, default
*/